package com.nidu.demo.notify.dto;

import com.nidu.demo.base.BaseTenantCO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * 站内信消息客户端对象
 *
 * @author auto
 */
@Data
@Schema(description = "站内信消息客户端对象")
@EqualsAndHashCode(callSuper = true)
public class NotifyMessageCO extends BaseTenantCO {

    @Schema(description = "主键ID", example = "1")
    private Long id;

    @Schema(description = "用户id", example = "1")
    private Long userId;

    @Schema(description = "用户类型", example = "1")
    private Integer userType;

    @Schema(description = "模版编号", example = "1")
    private Long templateId;

    @Schema(description = "模板编码", example = "SYSTEM_NOTICE")
    private String templateCode;

    @Schema(description = "模版发送人名称", example = "系统管理员")
    private String templateNickname;

    @Schema(description = "模版内容", example = "欢迎使用我们的系统")
    private String templateContent;

    @Schema(description = "模版类型", example = "1")
    private Integer templateType;

    @Schema(description = "模版参数", example = "{\"username\":\"张三\"}")
    private Map<String, Object> templateParams;

    @Schema(description = "是否已读", example = "false")
    private Boolean readStatus;

    @Schema(description = "阅读时间", example = "2025-01-01 12:00:00")
    private LocalDateTime readTime;

}
